package com.zmn.oms.business.interfaces.conf.distribute;

import com.zmn.oms.common.dro.conf.distribute.NonGridRobOrderConfigDRO;
import com.zmn.oms.model.dio.conf.distribute.NonGridRobOrderConfigDIO;
import com.zmn.oms.model.entity.conf.distribute.NonGridRobOrderConfig;
import com.zmn.oms.model.entity.conf.distribute.NonGridRobOrderConfigQuery;
import com.zmn.oms.model.entity.conf.distribute.SearchCityQuery;
import com.zmn.oms.model.vo.conf.distribute.DistributeWeightAreaVO;
import com.zmn.oms.model.vo.conf.distribute.NonGridRobOrderConfigVO;

import java.util.List;

/**
 * 接口描述 无网格抢单 BS 业务接口层
 *
 * @author fubiao
 * @since 2022/07/18
 */
public interface NonGridRobOrderConfigBService {

    /**
     *  根据主键查询
     * @param nonGridConfigId
     * @return
     */
    NonGridRobOrderConfigVO findByKey(Integer nonGridConfigId);

    /**
     *  根据平台&业务类型&派单方式查询
     * @param platIds
     * @param bizType
     * @param distributeWay
     * @return
     */
    List<NonGridRobOrderConfigVO> listByPlatIdAndBizType(List<Integer> platIds, Integer bizType, Integer distributeWay);

    /**
     *  根据query查询无网格抢单配置
     * @param configQuery
     * @return
     */
    List<NonGridRobOrderConfigDRO> listNoGridRobConfigByQuery(NonGridRobOrderConfigQuery configQuery);

    /**
     *  查询数量
     * @return
     */
    Integer countByQuery(NonGridRobOrderConfigQuery configQuery);

    /**
     *  获取市级下拉框数据对象
     * @param searchCityQuery
     * @return
     */
    List<DistributeWeightAreaVO> listCityByProvince(SearchCityQuery searchCityQuery);

    /**
     *  新增配置
     * @param nonGridRobOrderConfig
     * @return
     */
    Integer insert(NonGridRobOrderConfig nonGridRobOrderConfig);

    /**
     *  根据主键修改配置
     * @param dio
     * @return
     */
    Integer updateByKey(NonGridRobOrderConfigDIO dio);
}
